<?php

interface IEntityDefinition extends IDomObjDefinition
{

  /**
   *
   * @param string $name
   * @param IFieldDefinition $def
   * @return void
   */
  public function addField($name, IFieldDefinition $def);

  /**
   *
   * @param string $name
   * @return IFieldDefinition
   */
  public function getField($name);

  /**
   *
   * @return array
   */
  public function getFields();

  /**
   *
   * @param string $name
   * @return boolean
   */
  public function hasField($name);

  /**
   *
   * @return mixed
   */
  public function getPk();

  /**
   *
   * @return IFieldDefinition
   */
  public function getPkField();

  /**
   *
   * @return string
   */
  //public function getPkName();

  /**
   *
   * @return string
   */
  public function getTable();

}

?>